package com.zan.dao;

import com.zan.entity.Product;
import com.zan.entity.ProductVo;
import com.zan.entity.ProductVo2;
import com.zan.general.GeneralDao;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ProductMapper extends GeneralDao<Product> {

    public List<ProductVo> selectRecommendProducts();

    // 查询指定一级类别下销量最高的六个商品
    public List<ProductVo> selectTop6ByCategory(int categoryId);

    /**
     * 根据三级分类ID分页查询商品信息
     * @param cid 三级分类id
     * @param start 起始索引
     * @param limit 查询记录数
     * @return
     */
    public List<ProductVo2> selectProductsByCategoryId(@Param("cid") int cid,
                                                       @Param("start") int start,
                                                       @Param("limit") int limit);

    /**
     * 查询所有商品信息
     */
    public List<ProductVo2> selectProducts();

    public List<String> selectBrandByCategoryId(int cid);

    /**
     * 根据关键字模糊查询商品信息
     * @param keyword
     * @param start
     * @param limit
     * @return
     */
    public List<ProductVo2> selectProductsByKeyWord(@Param("kw") String keyword,
                                                    @Param("start") int start,
                                                    @Param("limit") int limit);

    /**
     * 根据搜索关键字查询相关商品的品牌列表
     * @param keyword
     * @return
     */
    public List<String> selectBrandByKeyWord(String keyword);

}